{
gtk_css_node_parent_was_unset (node);
}
+
+ if (gtk_css_node_get_style_provider_or_null (node) == NULL)
+ gtk_css_node_invalidate_style_provider (node);
}
if (parent)
return cssnode->decl;
}
+void
+gtk_css_node_invalidate_style_provider (GtkCssNode *cssnode)
+{
+ GtkCssNode *child;
+
+ gtk_css_node_invalidate (cssnode, GTK_CSS_CHANGE_SOURCE);
+
+ for (child = cssnode->first_child;
+ child;
+ child = child->next_sibling)
+ {
+ if (gtk_css_node_get_style_provider_or_null (child) == NULL)
+ gtk_css_node_invalidate_style_provider (child);
+ }
+}
+
void
gtk_css_node_invalidate (GtkCssNode *cssnode,
GtkCssChange change)
GtkCssStyle *style);
GtkCssStyle * gtk_css_node_create_style (GtkCssNode *cssnode);
+void gtk_css_node_invalidate_style_provider
+ (GtkCssNode *cssnode);
void gtk_css_node_invalidate (GtkCssNode *cssnode,
GtkCssChange change);
void gtk_css_node_validate (GtkCssNode *cssnode,
gtk_style_context_cascade_changed (GtkStyleCascade *cascade,
GtkStyleContext *context)
{
- gtk_css_node_invalidate (gtk_style_context_get_root (context), GTK_CSS_CHANGE_SOURCE);
+ gtk_css_node_invalidate_style_provider (gtk_style_context_get_root (context));
}
static void